package com.zerui.manager.accessauthdevice.gateway;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zerui.cola.dto.Response;
import com.zerui.manager.accessauthdevice.AccessAuthDevice;
import com.zerui.manager.web.cmd.AccessAuthDeviceQryCmd;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @Author wh
 * @create_time 2023-08-23 11:07
 */
public interface AccessAuthDeviceGateWay {

    Map<Long,AccessAuthDevice> getAccessAuthDeviceIds(Integer deviceFrom);

    void insertAccessAuthDevice(List<AccessAuthDevice> accessAuthDevices);

    void deleteAccessAuthByDeviceIds(List<Long> removeIds);

    Page<AccessAuthDevice> getPageList(AccessAuthDeviceQryCmd accessAuthDeviceQryCmd);

	Response update(AccessAuthDevice accessAuthDevice);

	List<AccessAuthDevice> getByDeviceIds(List<Long> deviceIds);

	Response updateBatch(List<AccessAuthDevice> accessAuthDevices);

    List<Long> deleteAccessAuthDeviceById(Long id,List<Long> deviceIds);

    List<Long> getDeviceIdsByAccessAuthId(Long accessAuthId);

    void updateBatchDevice(List<AccessAuthDevice> updateList);

    AccessAuthDevice getByDeviceId(String deviceId);

    void deleteByDeviceId(Long deviceId);

    List<AccessAuthDevice> selectByDeviceIds(Set<Long> deviceIds);
}
